Robots have been used to pick up articles, for example on manufacturing assembly lines. Typically the article is presented to the robot in a particular orientation so that the movement of the robot arm to pick up the article can be confined to a particular motion path. Even when the robot arm is associated with a computer vision system, the article that is to be picked up is still typically presented to the robot in a particular orientation. Many more problems are presented when the robot arm is used to grip an article in unconstrained environment, i.e., in an environment where the article is not presented to the robot in any particular orientation. In such non-constrained environment the robot does not “know” the particular motion path to grip the article, nor does it know any information with regard to the orientation of the article.